February 21, 2021
์๊ฐํ๋ content size ๋ฅผ ์ง์ ๋์์ธ ํ๊ฒ ํด์ค๋ค.
content ๋? div ์์ ์๋ ํ ์คํธ๋ฅผ ์ผ์ปซ๋๋ค.
<body>
<div class="grid">
<div class="item">This is a very long text</div>
<div class="item">This is a very long text</div>
<div class="item">This is a text</div>
<div class="item">This is a very longer longer long text</div>
<div class="item">This is a very longer longer long text</div>
<div class="item">This is a very longer longer long text</div>
<div class="item">This is a very longer longer long text</div>
<div class="item">This is a very longer longer long text</div>
<div class="item">This is a very longer longer long text</div>
<div class="item">This is a very longer longer long text</div>
</div>
</body>
div ์์ ์๋ content ๋ฅผ ์ด๋ป๊ฒ ๋ณด์ด๊ฒ ํ ๊น ์ ๋ํ ์ต์ ์ ์ฃผ๊ธฐ ์ํจ ์ด๋ค.
min-content ์ max-content ๋ fr ๊ณผ ๊ฐ์ด size ์ด๋ค.
min-content ๋ content (์ฌ๊ธฐ์๋ text) ๊ฐ ์์์ง ์ ์๋ ๋งํผ ์์์ง๊ฒ ๋ง๋๋ ์์ฑ์ด๋ค.
max-content ๋ ๋ฐ์ค๋ฅผ content (text ์ ๊ธธ์ด) ๊ฐ ํ์๋ก ํ๋ ์ฌ์ด์ฆ๋งํผ ํฌ๊ฒ ๋ง๋๋ ๊ฒ์ด๋ค.
.grid {
color: white;
display: grid;
gap: 5px;
grid-template-columns: 100px 100px;
grid-auto-rows: 100px;
margin-bottom: 30px;
}
.item:nth-child(odd) {
background: #2ecc71;
}
.item:nth-child(even) {
background: #3498db;
}
๋ณ ํน์ด์ฌํญ์ ์์ด ๋ณด์ธ๋ค. ๊ทธ๋ฐ๋ฐ ์ด์ ์ฌ๊ธฐ์,
grid-template-columns ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์์ ํด ๋ณด์๋ค.
grid-template-columns: max-content min-content;
์ฒซ ๋ฒ์งธ ์ปฌ๋ผ์ content (text ์ ๊ธธ์ด) ๊ฐ ํ์ฉํ๋ ์ต๋์น, ํ์๋ก ํ๋ ์ฌ์ด์ฆ๋งํผ ํฌ๊ฒ ๋ง๋ค์ด์ก๋ค.
๊ทธ๋ฐ๋ฐ ๋ ๋ฒ์งธ ์ปฌ๋ผ์ content ๊ฐ ์์์ง ์ ์๋ ๋งํผ ์์์ง๊ฒ ๋ง๋ค์ด์ก๋ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
grid-template-columns: repeat(5, minmax(max-content, 1fr));
์ปฌ๋ผ์ 5๊ฐ๋ฅผ ์์ฑํ๊ณ minmax ๋ก ๋ธ๋ผ์ฐ์ ํ๋ฉด์ด ์ค์ด ๋ค ๋์ ์ต์ ๊ธธ์ด๋ฅผ max-content ๋ก ์ฃผ๊ณ ,
ํ๋ฉด์ด ๋์ด๋ ๋์ ์ต๋ ๊ธธ์ด๋ฅผ 1fr ๋ก ์ฃผ์๋ค.
์ด์ ํ๋ฉด์ด ์ค์ด ๋ค์ด๋ content ์ฆ, ํ ์คํธ ํฌ๊ธฐ๊ฐ ํ์๋ก ํ๋ ํฌ๊ธฐ ์ดํ๋ก๋ ์ ๋ ๋จ์ด์ง์ง ์๋๋ค.
grind-template-columns ๋ฅผ ๋ค์ ์์ ํ์๋ค. ์ด๋ฒ์๋ ๋ธ๋ผ์ฐ์ ํ๋ฉด์ด ์ค์ด ๋ค ๋์ ์ต์ ๊ธธ์ด๋ฅผ min-content ๋ก ์ฃผ๊ธฐ ์ํจ์ด์๋ค.
grid-template-columns: repeat(5, minmax(min-content, 1fr));
์ด์ ํ๋ฉด์ด ์ค์ด ๋ค๋ฉด content, ํ ์คํธ๊ฐ ์์์ง ์ ์๋ ๋งํผ ์ต๋ํ ์ชผ๊ทธ๋ผ ๋ค์ด ๋ฒ๋ฆฌ๊ฒ ๋๋ค.
์ด๋ฒ์๋ ์์งค ์์ด ์ฝ๋๋ง์ผ๋ก ์ด๋ป๊ฒ ๋ ์ง ์์์ ๋งก๊ฒจ ๋ณด์.
grid-template-columns: repeat(auto-fill, minmax(20px, max-content));
grid-template-columns: repeat(auto-fit, minmax(20px, max-content));